#include<stdio.h>   //知识点：随机生成偶数（2<N>100，可以写一个子函数来传递这个参数 
#include<stdlib.h>
#include<time.h>
int N,rand_num,ch;
int main()
{
//每个孩子都可以获得偶数个糖果得到的随机的，（随机）循环每人获得原来个数的一半加上第n-1个人的糖果的一半，若奇数则加1；再进行上面的过程，直到每个人的糖果都一样
//定义lable，对孩子们的糖果数进行检索，有几个奇数就加几，直到最后 
	srand((unsigned)time(NULL)); //之前把时间种子放在了for循环里，导致每次随机生成的数字均一样 
	printf("请输入孩子的人数（2<N<100)\n");  //rand()%(b-a+1)+a 生成a-b的随机数 
	scanf("%d",&N);
	int child[N],i,lable=0,leaf;
	for(i=0;i<N;i++) 
	{
 	ch=rand() % 10 + 1;
 	if(ch%2!=0)  ch+=1; 
	child[i]=ch;
	printf("%d\t",child[i]);
	}
	
	while(leaf)
	{
		//分一半糖果给左边的孩子
		child[0]=child[0]/2+child[N-1]/2;
		for(i=1;i<N;i++)	child[i]=child[i]/2+child[i-1]/2;
		//给奇数个的孩子多发一个糖果
		for(i=0;i<N;i++) 
		{if(child[i]%2!=0)   
		{
			child[i]+=1;
			lable++;}
	 	} 
	 
		 for(i=0;i<N;i++)
		 {
	 		if(child[i]==child[i+1])	leaf=0;
	 		else   leaf=1; break;
		 }
	 
	}
	printf("\n");
	printf("%d",lable);
	return 0;
 } 
 
 

